package com.ywk.swagger.business.controller;

import com.ywk.swagger.business.entity.User;
import com.ywk.swagger.business.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * @Author zbh
 * @Date 2023/7/11
 */
@Api(tags = {"用户接口"})
@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    UserService service;

    /**
     * @ApiImplicitParam：参数说明：
     * 1.name：参数名
     * 2.value：参数的具体意义、作用
     * 3.required：参数是否必填
     * 4.dataType：参数的数据类型
     * 5.paramType：
     * 查询参数类型，有几种形式：
     * path（以地址类型提交数据）
     * query（直接跟参数完成自动映射赋值）
     * body（以流的形式提交，仅支持post）
     * header（参数在request headers里边提交）
     * form（以form表单的形式提交，仅支持post）
     *
     * @param userId
     * @return
     */
    @ApiImplicitParam(name="参数名：userId",value = "参数的具体意义、作用：用户ID",required=true)
    @ApiOperation(value = "说明方法的作用",notes = "方法的备注说明")
    @GetMapping("/helloSwagger")
    public String helloSwagger(int userId){
        return userId+"：hello swagger";
    }

    @ApiOperation(value = "查询所有用户",notes = "查询所有用户")
    @GetMapping("/findAll")
    public List<User> findAll(){
        return service.findAll();
    }
}
